package com.situ.mvc.service.impl;

import java.util.List;
import java.util.Map;

import com.situ.mvc.dao.IRoleDao;
import com.situ.mvc.dao.impl.RoleDaoImpl;
import com.situ.mvc.entity.Department;
import com.situ.mvc.entity.Role;
import com.situ.mvc.entity.User;
import com.situ.mvc.entity.UsersPageBean;
import com.situ.mvc.service.IRoleService;

public class RoleServiceImpl implements IRoleService {
	
	private IRoleDao roleDao = new RoleDaoImpl();

	@Override
	public UsersPageBean findPageList(Integer pageNo, Integer pageSize) {
		UsersPageBean usersPageBean = new UsersPageBean();
		usersPageBean.setPageNo(pageNo);
		usersPageBean.setPageSize(pageSize);
		int count = roleDao.totalCount();
		int totalPage = (int)Math.ceil((double)count / pageSize);
		usersPageBean.setTotalPage(totalPage);
		int offset = (pageNo - 1)*pageSize;
		List<Map<String, Object>> list = roleDao.findList(offset,pageSize);
		usersPageBean.setList(list);
		return usersPageBean;
	}

	@Override
	public List<Department> selectDepartment() {
		return roleDao.selectDepartment();
	}

	@Override
	public boolean addUser(User user) {
		return roleDao.addUser(user);
	}

	@Override
	public List<Role> selectRole() {
		return roleDao.selectRole();
	}

	@Override
	public boolean addOnlyRole(Integer userId, Integer roleId) {
		return roleDao.addOnlyRole(userId,roleId);
	}

	@Override
	public boolean deleById(Integer id) {
		return roleDao.deleteById(id);
	}

}
